package com.sybil.spa.dominio.r12;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

@Entity
@Table(name = "XXLO_TIPOS_IMPUESTOS_V")
public class Impuesto implements Serializable {

   private Integer codigo;
   private String nombre;
   private int orgId;
   private int taza;
   private int combinacion;

   public Impuesto() {
   }

   public Impuesto(Integer codigo) {
      this.codigo = codigo;
   }

   @Id
   @Basic(optional = false)
   @NotNull
   @Column(name = "TAX_ID")
   public Integer getCodigo() {
      return codigo;
   }

   @Basic(optional = false)
   @NotNull
   @Size(min = 1, max = 40)
   @Column(name = "NAME")
   public String getNombre() {
      return nombre;
   }

   @NotNull
   @Column(name = "ORG_ID")
   public int getOrgId() {
      return orgId;
   }

   @NotNull
   @Column(name = "TAX_RATE")
   public int getTaza() {
      return taza;
   }

   @NotNull
   @Column(name = "TAX_CODE_COMBINATION_ID")
   public int getCombinacion() {
      return combinacion;
   }

   public void setCodigo(Integer codigo) {
      this.codigo = codigo;
   }

   public void setCombinacion(int combinacion) {
      this.combinacion = combinacion;
   }

   public void setTaza(int taza) {
      this.taza = taza;
   }

   public void setOrgId(int orgId) {
      this.orgId = orgId;
   }

   public void setNombre(String nombre) {
      this.nombre = nombre;
   }

   @Override
   public int hashCode() {
      int hash = 0;
      hash += (codigo != null ? codigo.hashCode() : 0);
      return hash;
   }

   @Override
   public boolean equals(Object object) {
      if (!(object instanceof Impuesto)) {
         return false;
      }
      Impuesto other = (Impuesto) object;
      if ((this.codigo == null && other.codigo != null) || (this.codigo != null && !this.codigo.equals(other.codigo))) {
         return false;
      }
      return true;
   }

   @Override
   public String toString() {
      return "Impuesto[ codigo=" + codigo + " ]";
   }
}
